1. Field of the Invention
This invention relates to electronic systems, and more particularly to digital-to-analog conversion.
2. Description of the Related Art
Digital-to-analog converters (DACs) used in audio applications produce analog signals from digital data while minimizing audible distortion produced in the conversion. A typical audio DAC system consists of an interpolation filter, a multi-level sigma-delta modulator (xe2x80x9cSDMxe2x80x9d), and a multi-bit DAC to turn the multi-bit digital signal into an analog voltage. Unfortunately, non-matched analog components in the system tend to cause linearity errors in the analog output. The multi-bit DAC can implemented with a thermometer decoder and multiple 1-bit DACs. First, the thermometer decoder converts a quantized word output from the SDM into a thermometer code. For an N-bit input, 2Nxe2x88x921 or more equally-weighted elements are used for the output. The number of output bits set to a value of one is equal to the value of the input quantized word. The individual 1-bit outputs from the thermometer decoder are then communicated to respective 1-bit DACs and summed to produce an analog output. This method results in distortion because of a correlation between a particular range of input values and bit paths through the thermometer decoder and 1-bit DACs to the system output.
More recently, sigma-delta DAC systems have used dynamic mapping to change the bit paths within the system in a manner which reduces the effects of component mismatch. Typically, a scrambler is added between the thermometer decoder and 1-bit DACs. The scrambler has an array of swapper cells that switch their data paths in response to data presented to the scrambler itself. Analog mismatch errors are reduced within the band of interest by switching the cells to avoid repeated bit values from cycle to cycle at each swapper-cell output. One such scrambler for thermometer-code digital signals is described by R. Adams et al., in U.S. Pat. No. 5,404,142. In this patent, a number of swapper cells are interconnected in a xe2x80x9cbutterflyxe2x80x9d arrangement. Each has inputs for a control signal to determine whether its inputs are connected directly or xe2x80x9cswappedxe2x80x9d to its outputs. The control signal for each cell is developed by logic circuitry which responds to the states of the cell input signal bits and the state of a difference signal developed as the integrated difference of prior swapper output signals. The transformation of data paths is dependant on the state of the cell input signal bits and its prior state. This has the effect of shifting the noise created by mismatched components in the system to higher frequencies. Unfortunately, the scrambler is limited in the number of switching paths available for a given input. Consequently, even though the scrambler uses an input-dependent switching algorithm to maintain a xe2x80x9cbusyxe2x80x9d output, mismatched components can still cause linearity distortion in the band of interest when the scrambler is presented repeating or slowly changing input samples.
FIG. 1 illustrates a DAC system utilizing a scrambler 130 to minimize the linearity problem with multi-bit noise-shapers. In a typical application, a 16-24 bit pulse-code modulated (PCM) input signal is introduced to an interpolation filter 100 to remove out of band images and increase the sample rate for use by a sigma-delta modulator 110. The sigma-delta modulator 110 can quantize the signal to 3 bits for introduction to a thermometer decoder 120. The thermometer decoder 120 converts the 3 bit word into a plurality of equally weighted 1-bit signals at its parallel output to allow subsequent dynamic mapping. In thermometer decoding, a digital word representing a low number activates fewer 1-bit signals from the decoder. Similarly, a larger number is converted with more 1-bit signals. For example, for a 3-bit input, eight equally weighted elements in the thermometer decoder 120 are used to represent the full range of possible quantized input levels. Each element of the thermometer decoder""s output is individually coupled to individual inputs of a scrambler 130. The input bit to output-bit dynamic mapping must ensure that each input bit is switched to only one output bit to rearrange the sequence, rather than the number, of parallel sample inputs. The DACs are coupled in turn to a summing node 150 which may then be coupled to an analog filter (not shown) for additional filtering.
Switching for the scrambler 130 is provided by a number generator 160 such as that shown in FIG. 2 (prior art). In FIG. 2, the number generator 160 is implemented as a pseudorandom random number generator having sixteen registers (1-16). A 5-bit signal is cascaded into three EXOR gates (G1, G2, G3) created from tapping registers 16, 5; 3 and 2, respectively. The first, second and third shift registers are tapped to provide output signals to the scrambler 130 at outputs S0, S1, and S2, respectively. During each clock cycle, the S0, S1, and S2 terminals provide collectively a 3-bit control word to the scrambler 130 to enable a signal-independent change in sequence between the input signal and output signal. The control signal from the random number generator 160 allows each swapper cell to be switched equally as often when averaged over a long period of time. The effect of mismatch is to introduce noise over a wide bandwidth, including the band of interest.
Unfortunately, in sigma-delta based DACs that employ either signal-dependent or signal-independent scramblers between the thermometer decoder 120 and 1-bit DACs, simulations show in-band noise behavior that is undesirable in some audio applications. There still exists a need, then, for a sigma-delta DAC that reduces signal dependent in-band noise.
A noise shaper system is described, in one embodiment, for use with DACs. An input of parallel equally-weighted bits is provided to a randomizer in a first sequence, which randomizes the order of the bits into a second sequence at its output without regard for the first sequence. A scrambler receives the output of the randomizer, and re-orders the bits into a third sequence with a transformation that depends on the second sequence.
More particularly, one embodiment is described by converting a multi-bit input signal into a plurality of equally-weighted bits proportional to the input signal that are in a first sequence, re-ordering the bits into a second sequence with a first transformation that is not dependent on said first sequence, and re-ordering said bits in said second sequence into a third sequence with a second transformation that is dependent on the second sequence.
Through the re-ordering of the bits through the randomizer and scrambler, the bits are noise shaped to reduce noise distortion.